﻿using System.ServiceModel.Channels;

namespace RockBus.PipelineComponent.Interfaces
{
    /// <summary>
    /// A component that implements IPipelineComponent needs to provide a public constructor with the following signature:
    ///  public MyPipelineComponent(IPipelineComponentConfiguration configuration)
    /// </summary>
    public interface IPipelineComponent
    {
        IPipelineComponentConfiguration Configuration { get; }

        Message Execute(Message message, IPipelineContext pipelineContext);
    }
}